Co-simulation is a technique used by developers to design, test, and optimize an application that is to be implemented on particular target hardware. With co-simulation, one or more components of an application in development executes on the target hardware. The target hardware may be a symmetric multi-core processor (SMP) where the resources associated with the cores are identical. That is, the execution characteristics of an application component running on one core of an SMP are identical to the execution characteristics of the same component running on any other core of the SMP.
During co-simulation, execution of the application under development may include one or more application components that are simulated in the host simulation environment and one or more application components that are executing on SMP. The one or more application components executing on the SMP may have been generated from the host environment via automatic code generation.